原本 web camp 在 training JavaScript 的過程,其實已經足以讓人寫出程式,找到工作了。
但是,一直到有一天,我和學員工作時,我爆炸了。
我發現學員對程式碼品質的基本 sence 很不好,常常寫出很難一眼就可以讀懂的程式碼。而且會讓我讀半天發現「啊!就是 Array map」的這種浪費大量時間卻已經有 API 的情況也常出現。
甚至 if-else 都無法用「正確的語意」來表達。所以我就開始修改 training 的流程,為的是「提高程式碼品質」。
單元測試,其實並不困難,但是學習單元測試的工程師,通常都是已經是工作勝任度很高的情況之下,有餘力才來學習的。但是,這樣的前端工程師要再學習前端框架的單元測試,那樣的歷程,如同從頭再學一次前端一樣。
要從 node.js -> 在 browser -> 加上套件 -> 加上框架...
太痛苦了,與其這樣,不如多做幾個案子,花的時間一樣,但是卻賺得多 (誤)
準備了超級基本的大學生期中期末考的題目,但由於太基本了,對於基本語法是一定會練習到的情況之下,就想加入「不一定會練習到,但是加入會很有趣的」元素。
在 code review 的過程之中,難免會修改程式碼,但是避免把程式改壞(變成 mentor 只會來把我的程式改壞、大改成我看不懂的程式),就在每一次修改之後,再跑一次單元測試。
為了避免學習門檻過高,選擇一套就搞定的 Jest
在這過程還會搞懂 npm 相關的東西。會花費一些時間。
不過這過程本來就不只是要學基本語法,而是要搞懂
對於真正沒有接觸過寫程式的學員,常常問的問題「其中一個就是下一行執行誰?」,會請學員學習使用 debugger。
大多都用 vs code 就學著用它的,目前的 icon 長這樣
並且使用語法下中斷點
debugger;
程式就會停在這,並且顯示你想看的以及,你沒想過的也會顯示給你看。
新手會遇到的問題以及需要的輔助工具,在上述就已經具備了。
剩下的就要靠自己不要抗拒,並且花時間把這些工具熟悉熟悉。
每個學習程式語言的學員,請不要在這條路上把自己當作旁觀者。
看課程要練習,問問題要練習,做題目也要練習,看直播也要練習。學寫程式,就像是學黑手一樣,要不斷的練習,才有可能成為工匠,但是想成為好的工程師,只是成為工匠是遠遠不夠的。
要不要做!就是由你的心決定